#include <REGX52.H>
#include "Delay.h"
sbit RCK=P3^5;//RCLK//给P3的第6位（P3_5）重命名RCK
sbit SCK=P3^6;//SRCLK//给P3的第7位（P3_6）重命名SCK
sbit SER=P3^4;//SER//给P3的第5位（P3_4）重命名SER
#define MATRIX_LED_PORT P0

//74HC595写入一个字节
void _74HC595_WriteByte(unsigned char Byte)//往74HC595输入一个byte位数据后输出到点阵LED正极
{
	unsigned char x = 0;
	for(x=0;x<8;x++)
	{
		SER=Byte&(0x80>>x);//输入一位74HC595芯片
		SCK=1;//串行输入每一位由SCLK控制SCLK高电平输入一次（程序开始时需初始化为0）
		SCK=0;
	}
	RCK=1;//并行输出8位由RCK控制RCK高电平输出一次（程序开始时需初始化为0）
	RCK=0;
}
//LED显示一列数据
//Row需要16进制数(1为亮)
//Cloumn需要列（0——7）0在左(0为亮)
void MatrixLED_ShowColumn(unsigned char Row,unsigned char Column)
{
	_74HC595_WriteByte(Row);//控制行//
	MATRIX_LED_PORT=~(0x80>>Column);//控制列
	Delay(1);//延时（防止篡位）
	MATRIX_LED_PORT=0xFF;//位清零（防止篡位）
}
//初始化
void MatrixLED_Init(void)
{
	SCK=0;
	RCK=0;
}